#define _J_TIPKOVNICA_C_
#include "tipkovnica.h"

#include <arh/prekidi.h>
#include "tipovi.h"
#include "prekidi.h"
#include "razno.h"

static int j_tipk_ima;

void j_tipkovnica_inicijaliziraj (bool prikazi_stisnuto)
{
	j_tipk_ima = FALSE;

	arh_tipkovnica_inicijaliziraj(prikazi_stisnuto);

	//postavi i omoguci prekid tipkovnice
	j_prekidi_postavi(PREKIDI_TIPKOVNICA, j_tipkovnica_prekidna_funkcija);
	arh_dozvoli_prekid_tipkovnice();
}

static void j_tipkovnica_prekidna_funkcija (int x)
{
	if (arh_tipkovnica_obradi_prekid())
		j_tipk_ima = TRUE;
	//inace ostaje ista vrijednost u "j_tipk_ima"
}

//dohvati znak, rijec ili redak
int j_tipkovnica_dohvati (void *x)
{
	j_tipk_ima = FALSE;

	return arh_tipkovnica_dohvati(x);
}

//je li nesto novog stisnuto?
int j_tipkovnica_ima(void *x)
{
	int ima = j_tipk_ima;

	j_tipk_ima = FALSE;

	return ima;
}

